package com.tencreat.domain.mall.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tencreat.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 商品大厅-店铺查询对象
 * @author zixin
 */
@Data
public class MallStoreGoodsQueryVO {




    @ApiModelProperty("id")
    private Long id;

    @ApiModelProperty("顶级类目")
    @NotNull
    private Long topCategoryId;

    @ApiModelProperty("类目ID")
    @NotNull
    private Long categoryId;

    @ApiModelProperty("商品轮播图")
    @NotBlank
    private String gallery;

    @ApiModelProperty("商品名称")
    @NotBlank
    private String name;


    @ApiModelProperty(name = "店铺手机号码")
    private String mobile;

    /** 店铺评分， 1-5 */
    @ApiModelProperty(value= "评分， 1-5")
    @TableField("`star`")
    private Integer star;

    @ApiModelProperty("商品描述")
    @NotBlank
    private String brief;

    @ApiModelProperty("门市价")
    @NotNull
    private BigDecimal counterPrice;

    @ApiModelProperty("销售价")
    @NotNull
    private BigDecimal retailPrice;

    @ApiModelProperty("供应价")
    @NotNull
    private BigDecimal supplyPrice;

    @ApiModelProperty("折扣")
    private String salesDiscount;

    @ApiModelProperty("库存")
    @NotNull
    private Integer inventory;

    @ApiModelProperty("商品详情")
    @NotBlank
    private String detail;

    @ApiModelProperty("销量")
    @NotNull
    private Integer expectCommoditySales;


    @ApiModelProperty("商品规格ID")
    private List<Long> norms;



    @ApiModelProperty("简介/描述")
    private String describe;

    @ApiModelProperty(value= "商品视频")
    private String videoUrl;

    @ApiModelProperty("营业时间开始")
    @NotNull
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(exist = false)
    private LocalDateTime businessStartTime;

    @ApiModelProperty("营业时间结束")
    @NotNull
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(exist = false)
    private LocalDateTime businessEndTime;


    @ApiModelProperty(value = "详细地址")
    private String address;
}
